package cn.yj.cgs.dba.entity;


import cn.yj.cgs.dba.BaseEntity;
import cn.yj.cgs.dba.StringToDateDeSerializer;
import cn.yj.common.Enums;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author 永健
 * @since 2021-04-19 16:12:11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "tb_task")
public class Task extends BaseEntity{
    private static final long serialVersionUID = 1L;

    public Task() {
    }

    /**
     * <br>
     * 编码
     */
    private String taskNo;


    /**
     * <br>
     * 用户编码
     */
    private String userCode;


    /**
     * <br>
     * 内容
     */
    private String content;


    /**
     * <br>
     * 包裹状态:no/toAgree/yes/doing/finish/cancel/timeout
     * 状态参考：ConstVal.TASK.STATUS
     */
    private String taskStatus;

    /**
     * 审核状态
     */
    private String auditStatus;


    /**
     * <br>
     * 特别说明
     */
    private String remark;


    /**
     * <br>
     * 当前文件被锁
     */
    private String lockStatus;


    /**
     * <br>
     * 积分
     */
    private BigDecimal integral;


    /**
     * <br>
     * 紧急状态：normal/urgent
     * 状态参考：ConstVal.TASK.urgentState
     */
    private Enums.TASK.UrgentState urgentState;


    /**
     * <br>
     * 到期时间。过了这个时间没人接单就自动取消
     */

    @JsonDeserialize(using = StringToDateDeSerializer.class)
    private Date effectivTime;


    /**
     * <br>
     * 学校名称
     */
    private String schoolName;


    /**
     * <br>
     * 图片
     */
    private String image;


    /**
     * <br>
     * 删除：1；0:未删除
     */
    @TableLogic
    private Boolean deleted;


    /**
     * <br>
     * 服务费用
     */
    private BigDecimal serviceFees;

}

